package mx.unam.proteco.entidades;

import java.io.Serializable;
import java.util.Collection;
import javax.persistence.CollectionTable;
import javax.persistence.Column;
import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.Table;

/**
 *
 * @author Juan Fco. Navarrete
 */

@Entity
@Table(name = "PROYECTOS")
public class Proyecto implements Serializable
{
    private Long proyectoId;
    private String nombre;
    private Collection<String> comentarios;
    private Collection<Empleado> empleados;

    @ElementCollection
    @CollectionTable(name = "COMENTARIOS")
    public Collection<String> getComentarios()
    {
        return comentarios;
    }

    public void setComentarios(Collection<String> comentarios)
    {
        this.comentarios = comentarios;
    }

    @ManyToMany(mappedBy = "proyectos")
    public Collection<Empleado> getEmpleados()
    {
        return empleados;
    }

    public void setEmpleados(Collection<Empleado> empleados)
    {
        this.empleados = empleados;
    }

    @Column(length = 100, nullable = false)
    public String getNombre()
    {
        return nombre;
    }

    public void setNombre(String nombre)
    {
        this.nombre = nombre;
    }

    @Id
    @GeneratedValue
    @Column(name = "PROYECTO_ID")
    public Long getProyectoId()
    {
        return proyectoId;
    }

    public void setProyectoId(Long proyectoId)
    {
        this.proyectoId = proyectoId;
    }

    @Override
    public String toString()
    {
        return "Proyecto{" + "proyectoId=" + proyectoId + "nombre=" + nombre + "comentarios=" + comentarios + '}';
    }
}
